package uk.ac.aber.paws.client.constants;

/**
 * @author Rob Johnson, Aberystwyth University
 * @email rob.johnson@aber.ac.uk
 * @date 16th August 2011
 * 
 * NetworkConstants.java
 * 
 * Contains all constants used in network messaging
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */


public class NetworkConstants {

	/**
     * Used as an action identifier by the ServerSocket communication stream between client and server.
     * It is used as a response string that is sent back to the server to indicate sleep mode has been sanctioned.
     */
    public static final String SLEEP_PROCESS_INITIATED = "SLEEP_PROCESS_INITIATED";
    
    /**
     * Used as an action identifier by the ServerSocket communication stream between client and server. 
     * It is used by the client to identify a sleep request by the server
     * 
     */
    public static final String SLEEP_COMMAND = "SLEEP";
    
    /**
     * Used as an action identifier by the ServerSocket communication stream between client and server. 
     * It is used as a response string that is sent back to the server to indicate sleep mode has beeen denied.
     */
    public static final String SLEEP_PROCESS_DENIED = "SLEEP_PROCESS_DENIED"; 
	
    /**
     * When a user is auto logged off from the client, this string is logged to AUTO_LOGOUTS table
     */
    public static final String AUTO_LOGOFF_MESSAGE = "AUTO_LOGOFF";
    
    /**
     * This key entry is used when a orphaned pen drive message is displayed to the user
     */
    public static final String PENDRIVE_MESSAGE = "PENDRIVE_MESSAGE";
    
    /**
     * Used by the IdleLogger to report idle time to the PAWS Client agent
     */
    public static final String REPORT_IDLE_TIME = "REPORT_IDLE_TIME";
      
    /**
     * Used by PAWS Server to request idle time from PAWS Client
     */
    public static final String REQUEST_CLIENT_IDLE_TIME = "REQUEST_CLIENT_IDLE_TIME";
    
    /**
     * Used by IdleLogger to request session information from PAWS Client
     */
    public static final String REQUEST_CLIENT_INFORMATION = "REQUEST_CLIENT_INFORMATION";
    
    /**
     * Used by IdleLogger to request a restart of the local system from the PAWS Client agent 
     */
    public static final String REQUEST_RESTART_SERVICE = "REQUEST_RESTART_SERVICE";
    
    public static final String SEND_STOP_MESSAGE = "SEND_STOP_MESSAGE";
 
    public static final String REQUEST_GET_LOGININFO = "REQUEST_GET_LOGININFO";
 
    
}
